module Main
	where

import Control.Monad
import Data.List
import System.Random

randomSegment :: IO [Int]
randomSegment = do
		l <- replicateM 2 $ randomPoint
		if length (nub l) < length l
			then randomSegment
			else return $ concat l

randomPoint :: IO [Int]
randomPoint = replicateM 2 $ randomRIO (-10000, 10000)

main = (mapM_ putStrLn =<< (replicateM 1000 . fmap (intercalate " " . map show) $ liftM2 (++)  randomSegment randomPoint)) >> putStrLn "0 0 0 0 0 0 0 0"
